package com.ope.quartz.controller;

import com.ope.common.core.controller.BaseController;
import com.ope.common.utils.DateUtil;
import com.ope.common.utils.DateUtils;
import com.ope.quartz.service.IGuanateeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.Date;

/**
 * 调度任务信息操作处理
 * 
 * @author gnrx
 */
@Controller
@RequestMapping("/guarantee")
@Slf4j
public class GuaranteeController extends BaseController {
    @Autowired
    private IGuanateeService guaranteeService;

    /**
     * 上海E文本告警功能
     *
     * @Date 2024年3月13日08:47:14
     * @Author fxr
     */
    @Scheduled(cron = "${AlarmCron}")
    public void reportAlarmData() {
        String time = DateUtils.getCurDate(DateUtils.FORMAT_STR2) + ":00";
        try {
            log.info("二区开始生成上海E文本告警功能文件" + new Date() + time);
            guaranteeService.reportAlarmData(time);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }



    /**
     * 上海短期文件保障方案
     *
     * @Date 2024年3月13日08:47:14
     * @Author fxr
     */
    @Scheduled(cron = "${amCron}")
//    @PostMapping("/guaranteeAm")
    public void dqAmGuaranteePlant() {
        String time = DateUtils.getCurDate(DateUtils.FORMAT_STR2) + ":00";
        try {
            log.info("E文本生产上午保障方案" + new Date() + time);
            guaranteeService.dqGuaranteePlant(time,1);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 上海短期文件保障方案
     *
     * @Date 2024年3月13日08:47:14
     * @Author fxr
     */
    @Scheduled(cron = "${pmCron}")
//    @PostMapping("/guaranteePm")
    public void dqPmGuaranteePlant() {
        String time = DateUtils.getCurDate(DateUtils.FORMAT_STR2) + ":00";
        try {
            log.info("E文本生产下午保障方案" + new Date() + time);
            guaranteeService.dqGuaranteePlant(time,2);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 上海短期文件保障方案
     *
     * @Date 2024年3月13日08:47:14
     * @Author fxr
     */
    @Scheduled(cron = "${cdqCron}")
//    @PostMapping("/guaranteeCdq")
    public void cdqGuaranteePlant() {
        String time = DateUtil.getLast15Minutes() + ":00";
        String timeStr1 = DateUtils.minuteAdd(time, 15, DateUtils.FORMAT_STR1);
        try {
            log.info("E文本生产超短期保障方案" + new Date() + timeStr1);
            guaranteeService.cdqGuaranteePlant(timeStr1);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


}
